home *** CD-ROM | disk | FTP | other *** search
/ Disc Station 17 / Disc Station Vol 17.bin / DRIVERS / CANOPUS / P91UT_95.LZH / SETUP.MS_ / SETUP.MS
Text File  |  1995-12-11  |  10KB  |  364 lines

  1. '**************************************************************************
  2. '*    -- setup.mst --
  3. '*
  4. '*    Power Window 9130C-PCI Utility Setup Script
  5. '*
  6. '*    Copyright (C) 1995 CANOPUS Co.,Ltd. All rights reserved.
  7. '**************************************************************************
  8.  
  9. '$INCLUDE 'setupapi.inc'
  10. '$INCLUDE 'msdetect.inc' 
  11. '$INCLUDE 'msregdb.inc'
  12.  
  13. ''Dialog ID's
  14. CONST WELCOME        =  100
  15. CONST WELCOMEUS        =  101
  16. CONST QUIT            =  200
  17. CONST QUITUS        =  201
  18. CONST DESTPATH        = 1000
  19. CONST DESTPATHUS    = 1001
  20. CONST EXITFAILURE    = 1400
  21. CONST EXITFAILUREUS    = 1401
  22. CONST EXITQUIT        = 1500
  23. CONST EXITQUITUS    = 1501
  24. CONST EXITSUCCESS    = 1600
  25. CONST EXITSUCCESSUS    = 1601
  26. CONST POWERERROR    = 2000
  27. CONST POWERERRORUS    = 2001
  28. CONST DISKERROR        = 2100
  29. CONST DISKERRORUS    = 2101
  30. CONST BADPATH        = 3000
  31. CONST BADPATHUS        = 3001
  32.  
  33. ''Bitmap ID
  34. CONST    LOGO = 1
  35.  
  36. ''Window Size
  37. CONST    SHOWMAX = 3
  38.  
  39. '' Users Area
  40. GLOBAL    DEST$        ''âfâtâHâïâgé╠âfâBâîâNâgâè
  41. GLOBAL    WINDRIVE$    ''âEâCâôâhâEâYé╠âfâBâîâNâgâè
  42. GLOBAL    GROUP$        ''âOâïü[âvû╝
  43. GLOBAL    CUIDLL$        ''âåü[âUécékékû╝
  44. GLOBAL  JPMODE AS INTEGER '' ô·û{îΩü^ëpîΩâéü[âh
  45.  
  46. '' Mode Code
  47. CONST    SM_DBCSENABLED = 42
  48.  
  49. ''CustInst list symbol names
  50. DECLARE FUNCTION    CheckPowerWindow LIB "mscuistf.dll" () AS INTEGER
  51. DECLARE FUNCTION    RebootWindows LIB "mscuistf.dll" () AS INTEGER
  52. DECLARE FUNCTION     ExitWindowsExec  LIB "User" (Exec$, Param$) AS INTEGER
  53. DECLARE FUNCTION     MakePath (szDir$, szFile$) AS STRING
  54. DECLARE    SUB         IniSetAndBakup (szFile$, szSec$, szKey$, szVal$, szSecOp$)
  55. DECLARE    SUB         IniSetAndStandBakup (szFile$, szSec$, szKey$, szVal$, szSecOp$)
  56.  
  57.  
  58. '
  59. ' #[ INIT ]
  60. '
  61. INIT:
  62.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  63.  
  64.     JPMODE = GetSystemMetrics( SM_DBCSENABLED )
  65.  
  66.     SetWindowSize SHOWMAX
  67.     SetBitmap CUIDLL$, LOGO
  68.     SetTitle "Power Window 9130C-PCI Utility Setup"
  69.     
  70.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  71.     IF szInf$ = "" THEN
  72.         szInf$ = GetSymbolValue("STF_CWDDIR") + "setup.inf"
  73.     END IF
  74.     ReadInfFile szInf$
  75.  
  76.     WINDRIVE$ = GetWindowsDir()
  77.     DEST$ = MID$(WINDRIVE$, 1, 1) + ":\PW"
  78.  
  79.     IF JPMODE <> 0 THEN
  80.         IF CheckPowerWindow() = 0 THEN
  81.             sz$ = UIStartDlg(CUIDLL$, POWERERROR, "FInfoDlgProc", 0, "")
  82.             END
  83.         END IF
  84.     ELSE
  85.         IF CheckPowerWindow() = 0 THEN
  86.             sz$ = UIStartDlg(CUIDLL$, POWERERRORUS, "FInfoDlgProc", 0, "")
  87.             END
  88.         END IF
  89.     END IF
  90.  
  91. WELCOME:
  92.     IF JPMODE <> 0 THEN
  93.         sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", 0, "")
  94.     ELSE
  95.         sz$ = UIStartDlg(CUIDLL$, WELCOMEUS, "FInfoDlgProc", 0, "")
  96.     END IF
  97.     IF sz$ = "CONTINUE" THEN
  98.         UIPop 1
  99.     ELSE
  100.            GOSUB ASKQUIT
  101.         GOTO WELCOME
  102.     END IF
  103.  
  104.  
  105. GETPATH:
  106.     SetSymbolValue "EditTextIn", DEST$
  107.     SetSymbolValue "EditFocus", "END"
  108. GETPATHL1:
  109.     IF JPMODE <> 0 THEN
  110.         sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", 0, "")
  111.     ELSE
  112.         sz$ = UIStartDlg(CUIDLL$, DESTPATHUS, "FEditDlgProc", 0, "")
  113.     END IF
  114.     DEST$ = GetSymbolValue("EditTextOut")
  115.     IF sz$ = "CONTINUE" THEN
  116.         IF IsDirWritable(DEST$) = 0 THEN
  117.             GOSUB BADPATH
  118.             GOTO GETPATHL1
  119.         END IF
  120.         UIPop 1
  121.     ELSEIF sz$ = "REACTIVATE" THEN
  122.         GOTO GETPATHL1
  123.     ELSE
  124.         GOSUB ASKQUIT
  125.         GOTO GETPATHL1
  126.     END IF
  127.  
  128.  
  129. INSTFILES:
  130.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  131.     WinSysDir$ = GetWindowsSysDir()
  132.  
  133.     ''âfâBâîâNâgâèé╠ì∞ɼé╞ôoÿ^
  134.     CreateDir DEST$, cmoNone
  135.     CreateIniKeyValue WINDRIVE$ + "CANOPUS.INI", "PowerWindow9130cUtility", "DIR", DEST$, cmoOverwrite
  136.  
  137.     ''âtâ@âCâïâRâsü[âèâXâgé╠ôoÿ^
  138.     AddSectionFilesToCopyList "SYSTEM", SrcDir$, WinSysDir$
  139.     CreateIniKeyValue WINDRIVE$ + "CANOPUS.INI", "PowerWindow9130cUtility", "FILE0", MakePath(WinSysDir$,"PW91CAP.DRV"), cmoOverwrite
  140.     CreateIniKeyValue WINDRIVE$ + "CANOPUS.INI", "PowerWindow9130cUtility", "FILE1", MakePath(WinSysDir$,"PWJPEG.DRV"), cmoOverwrite
  141.  
  142.     AddSectionFilesToCopyList "USERS", SrcDir$, DEST$
  143.     CreateIniKeyValue WINDRIVE$ + "CANOPUS.INI", "PowerWindow9130cUtility", "FILE2", MakePath(DEST$,"PW91TUN.EXE"), cmoOverwrite
  144.     CreateIniKeyValue WINDRIVE$ + "CANOPUS.INI", "PowerWindow9130cUtility", "FILE3", MakePath(DEST$,"PW91TUN.DLL"), cmoOverwrite
  145.     CreateIniKeyValue WINDRIVE$ + "CANOPUS.INI", "PowerWindow9130cUtility", "FILE4", MakePath(DEST$,"PWVVIEW.EXE"), cmoOverwrite
  146.     CreateIniKeyValue WINDRIVE$ + "CANOPUS.INI", "PowerWindow9130cUtility", "FILE5", MakePath(DEST$,"PWVVIEW.HLP"), cmoOverwrite
  147.     CreateIniKeyValue WINDRIVE$ + "CANOPUS.INI", "PowerWindow9130cUtility", "FILE6", MakePath(DEST$,"PWDIALOG.DLL"), cmoOverwrite
  148.     CreateIniKeyValue WINDRIVE$ + "CANOPUS.INI", "PowerWindow9130cUtility", "FILE7", MakePath(DEST$,"PWAPUIST.EXE"), cmoOverwrite
  149.     CreateIniKeyValue WINDRIVE$ + "CANOPUS.INI", "PowerWindow9130cUtility", "FILE8", MakePath(DEST$,"PWVVIEW.GID"), cmoOverwrite
  150.  
  151.     ''âtâ@âCâïâRâsü[
  152.     SizeReq& = GetCopyListCost ("","", "")
  153.     IF SizeReq& <> 0 THEN
  154.         IF JPMODE <> 0 THEN
  155.             sz$ = UIStartDlg(CUIDLL$, DISKERROR, "FInfoDlgProc", 0, "")
  156.         ELSE
  157.             sz$ = UIStartDlg(CUIDLL$, DISKERRORUS, "FInfoDlgProc", 0, "")
  158.         END IF
  159.         END
  160.     END IF
  161.     SetRestartDir WINDRIVE$
  162.     CopyFilesInCopyList
  163.  
  164.     ''éhéméhâtâ@âCâïé╠ôoÿ^
  165.     IniSetAndBakup WINDRIVE$ + "SYSTEM.INI", "DRIVERS", "VIDC.MJPG", "PWJPEG.DRV", "SYS"
  166.     IniSetAndStandBakup WINDRIVE$ + "SYSTEM.INI", "DRIVERS", "MSVideo", "PW91CAP.DRV", "SYS"
  167.  
  168.     ''âOâïü[âvôoÿ^
  169.     GROUP$ = "Power Window 9100"
  170.        CreateProgmanGroup GROUP$, "", cmoNone
  171.     ShowProgmanGroup   GROUP$,  1, cmoNone
  172.     CreateProgmanItem  GROUP$, "Video Viewer" , MakePath(DEST$,"PWVVIEW.EXE"), "", cmoOverwrite
  173.     CreateProgmanItem  GROUP$, "TV Tuner" , MakePath(DEST$,"PW91TUN.EXE"), "", cmoOverwrite
  174.     CreateProgmanItem  GROUP$, "Utility Uninstaller" , MakePath(DEST$,"PWAPUIST.EXE"), "", cmoOverwrite
  175.  
  176. QUIT:
  177.     ON ERROR GOTO ERRQUIT
  178.  
  179.     IF ERR = 0 THEN
  180.         IF JPMODE <> 0 THEN
  181.             dlg% = EXITSUCCESS
  182.         ELSE
  183.             dlg% = EXITSUCCESSUS
  184.         END IF
  185.     ELSEIF ERR = STFQUIT THEN
  186.         IF JPMODE <> 0 THEN
  187.             dlg% = EXITQUIT
  188.         ELSE
  189.             dlg% = EXITQUITUS
  190.         END IF
  191.     ELSE
  192.         IF JPMODE <> 0 THEN
  193.             dlg% = EXITFAILURE
  194.         ELSE
  195.             dlg% = EXITFAILUREUS
  196.         END IF
  197.     END IF
  198. QUITL1:
  199.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfoDlgProc", 0, "")
  200.     IF sz$ = "CONTINUE" THEN
  201.         UIPop 1
  202.         END
  203.     END IF
  204.  
  205.  
  206. RESET:
  207.     new% = ExitExecRestart()
  208.     Exe$ = WINDRIVE$ + "\_msrstrt.exe"
  209.     Empty$ = ""
  210. RESTART1:
  211.     IF new% = 0 THEN
  212.         IF JPMODE <> 0 THEN
  213.             i% = DoMsgBox("Windows é≡ì─ïNô«é┼é½é▄é╣é±üBæ╝é╠âAâvâèâPü[âVâçâôüiMS-DOS╠▀█▌╠▀─ôÖüjé≡ÅIù╣é╡é─é¡é╛é│éóüB", "âZâbâgâAâbâv âGâëü[", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  214.         ELSE
  215.             i% = DoMsgBox("The Setup program cannot restart Windows. Please terminate all other applications and MS-DOS Prompt.", "Setup Error", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  216.         END IF
  217.     END IF
  218. '    I% = RebootWindows() é▒é╠Åêù¥é╔é╖éΘé╞üAâZâbâgâAâbâvâeâôâ|âëâèìφÅ£é╡é╚éóüB
  219.     I% = ExitWindowsExec (Exe$, Empty$)
  220.      IF I% = 0 THEN
  221.         GOTO RESET
  222.     ELSE 
  223.         END
  224.     END IF
  225.    END
  226.  
  227.  
  228. ERRQUIT:
  229.     IF JPMODE <> 0 THEN
  230.         i% = DoMsgBox("âZâbâgâAâbâvâfâBâXâNé╠ôαùeé¬ë≤éΩé─éóé▄é╖üBâeâNâjâJâïâTâ|ü[âgé▄é┼ÿAùìé╡é─é¡é╛é│éóüB", "âZâbâgâAâbâv âGâëü[", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  231.     ELSE
  232.         i% = DoMsgBox("This Setup disk is destroyed. Please contact our Technical Support.", "Setup Error", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  233.     END IF
  234.     END
  235.  
  236.  
  237. BADPATH:
  238.     IF JPMODE <> 0 THEN
  239.         sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  240.     ELSE
  241.         sz$ = UIStartDlg(CUIDLL$, BADPATHUS, "FInfo0DlgProc", 0, "")
  242.     END IF
  243.     IF sz$ = "REACTIVATE" THEN
  244.         GOTO BADPATH
  245.     END IF
  246.     UIPop 1
  247.     RETURN
  248.  
  249.  
  250. ASKQUIT:
  251.     IF JPMODE <> 0 THEN
  252.         sz$ = UIStartDlg(CUIDLL$, QUIT, "FQuitDlgProc", 0, "")
  253.     ELSE
  254.         sz$ = UIStartDlg(CUIDLL$, QUITUS, "FQuitDlgProc", 0, "")
  255.     END IF
  256.     IF sz$ = "EXIT" THEN
  257.         UIPopAll
  258.         ERROR STFQUIT
  259.     ELSEIF sz$ = "REACTIVATE" THEN
  260.         GOTO ASKQUIT
  261.     ELSE
  262.         UIPop 1
  263.     END IF
  264.     RETURN
  265.  
  266.  
  267. '*****************************************************
  268. '** ôαùe:
  269. '**         âtâïâpâXé╠ì\æóæ╠é╔ò╧è╖
  270. '** ê°é½Éö:
  271. '**         szDir$  - âtâïâpâXâfâBâîâNâgâèû╝
  272. '**         szFile$ - âtâ@âCâïû╝é▄é╜é═âfâBâîâNâgâèû╝
  273. '** û▀éΦÆl:    
  274. '**        âpâXû╝
  275. '*****************************************************
  276. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  277.     IF szDir$ = "" THEN
  278.         MakePath = szFile$
  279.     ELSEIF szFile$ = "" THEN
  280.         MakePath = szDir$
  281.